const jsonDataUtils = {
  initJsonData:`{
    "type":"",
    "data":{
      "appId":"",
      "path":"",
      "guide":"",
      "title":"",
      "desc":"",
      "imgUrl":"",
      "link":"",
      "params":{}
    }
  }`,
  isJsonString(str){
    if (typeof str == 'string') {
      try {
        var obj=JSON.parse(str);
        if(typeof obj == 'object' && obj ){
          return true;
        }else{
          return false;
        }
      } catch(e) {
        return false;
      }
    }
    return false;
  },
  judgeJson(jsonContentString){
    let result = {
      flag:true,
      msg:''
    }
    const newJsonContentString = jsonContentString.replace(/\n/g,'')
    if(!jsonDataUtils.isJsonString(newJsonContentString)){
      result.flag = false;
      result.msg = 'json不合法';
      return result
    }
    const jsonContent = JSON.parse(newJsonContentString);

    if(!jsonContent.type){
      result.flag = false;
      result.msg = '渠道类型type必填';
      return result
    }
    if(jsonContent.type !='wxapp' && jsonContent.type !='app' && jsonContent.type !='web'){
      result.flag = false;
      result.msg = '渠道类型type请填写wxapp,app,web中的值，wxapp: 微信⼩程序；app: app；web: ⽹⻚';
      return result
    }

    //判断data是否存在
    if(!jsonContent.data){
      result.flag = false;
      result.msg = '请补充data字段';
      return result
    }

    //微信小程序 appId必填
    if (jsonContent.type === 'wxapp' && !jsonContent.data.appId) {
      result.flag = false;
      result.msg = '微信⼩程序 appId必填';
      return result
    }
    //微信小程序 path必填
    if (jsonContent.type === 'wxapp' && !jsonContent.data.path) {
      result.flag = false;
      result.msg = '微信⼩程序跳转路径必填';
      return result
    }
    if(!jsonContent.data.title){
      result.flag = false;
      result.msg = '卡⽚标题必填';
      return result
    }
    if(!jsonContent.data.imgUrl){
      result.flag = false;
      result.msg = '卡⽚图⽚地址必填';
      return result
    }
    if(jsonContent.type != 'wxapp' && !jsonContent.data.link){
      result.flag = false;
      result.msg = '点击卡⽚⽹⻚跳转地址必填';
      return result
    }

    return result
  }
}

export default jsonDataUtils
